#import "sybase_sup.h"
#import "SUPAnnotations.h"

#import "SUPAbstractEntity.h"
#import "SUPObjectList.h"
#import "SUPLogRecord.h"
#import "SUPMobileBusinessObject.h"
#import "Notification_Task4_Notification_Task4DB.h"
#import "Notification_Task4_PersonalizationParameters.h"


@class Notification_Task4_GetNotifList;
@class SUPEntityMetaData;
@class SUPQuery;

// public interface declaration, can be used by application. 
/*!
 @class Notification_Task4_NOTIFICATION_TASK
 @abstract This class is part of package "Notification_Task4:1.0"
 @discussion Generated by Sybase Unwired Platform, compiler version 1.5.2.917
*/ 
@interface Notification_Task4_NOTIFICATION_TASK : SUPAbstractEntity<SUPMobileBusinessObject>
{
@private
    NSString* _NOTIF_NO_HEADER;
    NSString* _PLANPLANT;
    NSString* _LOC_ACC;
    NSString* _EQUIPMENT;
    NSString* _EQUIPMENT_DESC;
    NSString* _EQUIPMENT_CREATE;
    NSString* _ASSEMBLY;
    NSString* _ASSEMBLY_DESC;
    NSString* _BREAKDOWN;
    NSDate* _STRMLFNDATE;
    NSDate* _ENDMLFNDATE;
    NSDate* _STRMLFNTIME;
    NSDate* _ENDMLFNTIME;
    NSNumber* _DOWNTIME;
    NSString* _UNIT;
    NSString* _ISOCODE_UNIT;
    NSString* _PLANGROUP;
    NSString* _MNTPLAN;
    int32_t _MNTCALL_NO;
    NSString* _MAINTITEM;
    NSString* _NOTIF_TYPE;
    NSString* _SHORT_TEXT;
    NSString* _PRIOTYPE;
    NSString* _PRIORITY;
    NSDate* _NOTIFTIME;
    NSDate* _NOTIF_DATE;
    NSString* _REPORTEDBY;
    NSDate* _DESSTDATE;
    NSDate* _DESSTTIME;
    NSDate* _DESENDDATE;
    NSDate* _DESENDTM;
    NSString* _ORDERID;
    NSString* _MATERIAL;
    NSString* _MATL_DESC;
    NSString* _CUST_NO;
    NSString* _OBJECT_NO;
    NSDate* _COMPDATE;
    NSDate* _COMPTIME;
    NSString* _CATPROFILE;
    NSString* _LONG_TEXT;
    NSString* _PRILANG;
    NSDate* _REFDATE;
    NSDate* _REFTIME;
    NSString* _SALES_ORD;
    NSString* _PURCH_NO_C;
    NSDate* _PURCH_DATE;
    NSString* _DIVISION;
    NSString* _SALES_ORG;
    NSString* _DISTR_CHAN;
    NSString* _ADDR_NUMBER;
    NSString* _CAT_TYPE;
    NSString* _CODE_GROUP;
    NSString* _CODING;
    NSString* _PM_WKCTR;
    NSString* _SERIALNO;
    NSString* _DELETE_FLAG;
    NSString* _DEVICEDATA;
    NSString* _SALES_OFFICE;
    NSString* _SALES_GRP;
    NSString* _NOTIFTMEZ;
    NSString* _FUNCT_LOC;
    NSString* _FUNCLOC_DISP;
    NSString* _FUNCLOC_DESC;
    NSString* _FUNCLOC_CREATE;
    NSString* _ABCINDIC;
    NSString* _SORTFIELD;
    NSString* _MAINTPLANT;
    NSString* _MAINTLOC;
    NSString* _MAINTROOM;
    NSString* _PLSECTN;
    NSString* _PP_WKCTR;
    NSString* _BUS_AREA;
    NSString* _CO_AREA;
    NSString* _COSTCENTER;
    NSString* _WBS_ELEMENT;
    NSString* _ASSET_NO;
    NSString* _SUB_NUMBER;
    NSString* _STDGORD;
    NSString* _STLMTORDER;
    NSString* _COMP_CODE;
    NSString* _SALES_ORG_LOC_ACC;
    NSString* _DIVISION_LOC_ACC;
    NSString* _DIST_CHAN_LOC_ACC;
    NSString* _ADDR_NO_LOC_ACC;
    NSString* _DOC_NUMBER;
    NSString* _ITM_NUMBER;
    NSString* _SCENARIO;
    NSString* _REFOBJECTTYPE;
    NSString* _REFOBJECTKEY;
    NSString* _REFRELTYPE;
    NSString* _XA_STAT_PROF;
    NSString* _MN_WK_CTR;
    NSString* _PLANT;
    NSString* _ENHANCEMENT_FLAG;
    NSString* _EQUIPMENT_DISPLAY;
    NSString* _FUNCLOC_DISPLAY;
    NSString* _NOTIF_SORTNO;
    NSString* _NOTIF_PUSHED;
    NSString* _NOTIF_NO_DISPLAY;
    NSString* _ORDERID_DISPLAY;
    NSString* _NOTIF_NO2;
    NSString* _ITEM_KEY;
    NSString* _ITEM_SORT_NO;
    NSString* _TASK_SORT_NO;
    NSString* _TASK_KEY;
    NSString* _TASK_TEXT;
    NSString* _LONG_TEXT2;
    NSString* _PRILANG2;
    NSString* _TASK_CAT_TYP;
    NSString* _TASK_CODEGRP;
    NSString* _TASK_CODE;
    NSDate* _PLND_START_DATE;
    NSDate* _PLND_START_TIME;
    NSDate* _PLND_END_DATE;
    NSDate* _PLND_END_TIME;
    NSString* _CARRIED_OUT_BY;
    NSDate* _CARRIED_OUT_DATE;
    NSDate* _CARRIED_OUT_TIME;
    NSDate* _RESUBMIT_DATE;
    NSString* _PARTN_ROLE;
    NSString* _PARTNER;
    NSString* _SYSTEMSTATUS;
    NSString* _USERSTATUS;
    NSString* _USERSTATUS_FLAG;
    NSString* _ALM_TASK_GUID;
    NSString* _REFOBJECTKEY2;
    NSString* _OBJECT_NO2;
    NSString* _DELETE_FLAG2;
    NSString* _TXT_TASKGRP;
    NSString* _TXT_TASKCD;
    NSString* _RELEASE_FLAG;
    NSString* _COMPLETE_FLAG;
    NSString* _XA_STAT_PROF2;
    NSString* _ADD_FLAG;
    NSString* _ENHANCEMENT_FLAG2;
    NSString* _NOTIF_NO;
    NSString* _USER;
    Notification_Task4_GetNotifList* _getNotifList;
    BOOL _getNotifListValid;
    NSNumber* _getNotifListFK;
    int64_t _surrogateKey;
}

@property(retain) NSString* NOTIF_NO_HEADER;
@property(retain) NSString* PLANPLANT;
@property(retain) NSString* LOC_ACC;
@property(retain) NSString* EQUIPMENT;
@property(retain) NSString* EQUIPMENT_DESC;
@property(retain) NSString* EQUIPMENT_CREATE;
@property(retain) NSString* ASSEMBLY;
@property(retain) NSString* ASSEMBLY_DESC;
@property(retain) NSString* BREAKDOWN;
@property(retain) NSDate* STRMLFNDATE;
@property(retain) NSDate* ENDMLFNDATE;
@property(retain) NSDate* STRMLFNTIME;
@property(retain) NSDate* ENDMLFNTIME;
@property(retain) NSNumber* DOWNTIME;
@property(retain) NSString* UNIT;
@property(retain) NSString* ISOCODE_UNIT;
@property(retain) NSString* PLANGROUP;
@property(retain) NSString* MNTPLAN;
@property(assign) int32_t MNTCALL_NO;
@property(retain) NSString* MAINTITEM;
@property(retain) NSString* NOTIF_TYPE;
@property(retain) NSString* SHORT_TEXT;
@property(retain) NSString* PRIOTYPE;
@property(retain) NSString* PRIORITY;
@property(retain) NSDate* NOTIFTIME;
@property(retain) NSDate* NOTIF_DATE;
@property(retain) NSString* REPORTEDBY;
@property(retain) NSDate* DESSTDATE;
@property(retain) NSDate* DESSTTIME;
@property(retain) NSDate* DESENDDATE;
@property(retain) NSDate* DESENDTM;
@property(retain) NSString* ORDERID;
@property(retain) NSString* MATERIAL;
@property(retain) NSString* MATL_DESC;
@property(retain) NSString* CUST_NO;
@property(retain) NSString* OBJECT_NO;
@property(retain) NSDate* COMPDATE;
@property(retain) NSDate* COMPTIME;
@property(retain) NSString* CATPROFILE;
@property(retain) NSString* LONG_TEXT;
@property(retain) NSString* PRILANG;
@property(retain) NSDate* REFDATE;
@property(retain) NSDate* REFTIME;
@property(retain) NSString* SALES_ORD;
@property(retain) NSString* PURCH_NO_C;
@property(retain) NSDate* PURCH_DATE;
@property(retain) NSString* DIVISION;
@property(retain) NSString* SALES_ORG;
@property(retain) NSString* DISTR_CHAN;
@property(retain) NSString* ADDR_NUMBER;
@property(retain) NSString* CAT_TYPE;
@property(retain) NSString* CODE_GROUP;
@property(retain) NSString* CODING;
@property(retain) NSString* PM_WKCTR;
@property(retain) NSString* SERIALNO;
@property(retain) NSString* DELETE_FLAG;
@property(retain) NSString* DEVICEDATA;
@property(retain) NSString* SALES_OFFICE;
@property(retain) NSString* SALES_GRP;
@property(retain) NSString* NOTIFTMEZ;
@property(retain) NSString* FUNCT_LOC;
@property(retain) NSString* FUNCLOC_DISP;
@property(retain) NSString* FUNCLOC_DESC;
@property(retain) NSString* FUNCLOC_CREATE;
@property(retain) NSString* ABCINDIC;
@property(retain) NSString* SORTFIELD;
@property(retain) NSString* MAINTPLANT;
@property(retain) NSString* MAINTLOC;
@property(retain) NSString* MAINTROOM;
@property(retain) NSString* PLSECTN;
@property(retain) NSString* PP_WKCTR;
@property(retain) NSString* BUS_AREA;
@property(retain) NSString* CO_AREA;
@property(retain) NSString* COSTCENTER;
@property(retain) NSString* WBS_ELEMENT;
@property(retain) NSString* ASSET_NO;
@property(retain) NSString* SUB_NUMBER;
@property(retain) NSString* STDGORD;
@property(retain) NSString* STLMTORDER;
@property(retain) NSString* COMP_CODE;
@property(retain) NSString* SALES_ORG_LOC_ACC;
@property(retain) NSString* DIVISION_LOC_ACC;
@property(retain) NSString* DIST_CHAN_LOC_ACC;
@property(retain) NSString* ADDR_NO_LOC_ACC;
@property(retain) NSString* DOC_NUMBER;
@property(retain) NSString* ITM_NUMBER;
@property(retain) NSString* SCENARIO;
@property(retain) NSString* REFOBJECTTYPE;
@property(retain) NSString* REFOBJECTKEY;
@property(retain) NSString* REFRELTYPE;
@property(retain) NSString* XA_STAT_PROF;
@property(retain) NSString* MN_WK_CTR;
@property(retain) NSString* PLANT;
@property(retain) NSString* ENHANCEMENT_FLAG;
@property(retain) NSString* EQUIPMENT_DISPLAY;
@property(retain) NSString* FUNCLOC_DISPLAY;
@property(retain) NSString* NOTIF_SORTNO;
@property(retain) NSString* NOTIF_PUSHED;
@property(retain) NSString* NOTIF_NO_DISPLAY;
@property(retain) NSString* ORDERID_DISPLAY;
@property(retain) NSString* NOTIF_NO2;
@property(retain) NSString* ITEM_KEY;
@property(retain) NSString* ITEM_SORT_NO;
@property(retain) NSString* TASK_SORT_NO;
@property(retain) NSString* TASK_KEY;
@property(retain) NSString* TASK_TEXT;
@property(retain) NSString* LONG_TEXT2;
@property(retain) NSString* PRILANG2;
@property(retain) NSString* TASK_CAT_TYP;
@property(retain) NSString* TASK_CODEGRP;
@property(retain) NSString* TASK_CODE;
@property(retain) NSDate* PLND_START_DATE;
@property(retain) NSDate* PLND_START_TIME;
@property(retain) NSDate* PLND_END_DATE;
@property(retain) NSDate* PLND_END_TIME;
@property(retain) NSString* CARRIED_OUT_BY;
@property(retain) NSDate* CARRIED_OUT_DATE;
@property(retain) NSDate* CARRIED_OUT_TIME;
@property(retain) NSDate* RESUBMIT_DATE;
@property(retain) NSString* PARTN_ROLE;
@property(retain) NSString* PARTNER;
@property(retain) NSString* SYSTEMSTATUS;
@property(retain) NSString* USERSTATUS;
@property(retain) NSString* USERSTATUS_FLAG;
@property(retain) NSString* ALM_TASK_GUID;
@property(retain) NSString* REFOBJECTKEY2;
@property(retain) NSString* OBJECT_NO2;
@property(retain) NSString* DELETE_FLAG2;
@property(retain) NSString* TXT_TASKGRP;
@property(retain) NSString* TXT_TASKCD;
@property(retain) NSString* RELEASE_FLAG;
@property(retain) NSString* COMPLETE_FLAG;
@property(retain) NSString* XA_STAT_PROF2;
@property(retain) NSString* ADD_FLAG;
@property(retain) NSString* ENHANCEMENT_FLAG2;
@property(retain) NSString* NOTIF_NO;
@property(retain) NSString* USER;

@property(retain) NSNumber* getNotifListFK;
@property(assign) int64_t surrogateKey;

- (void)dealloc;
/*!
  @method 
  @abstract Create this entity row in the database
  @discussion
  @throws SUPPersistenceException
 */
- (void)create;
/*!
  @method 
  @abstract Update this entity row in the database
  @discussion
  @throws SUPPersistenceException
 */
- (void)update;
/*!
  @method 
  @abstract Delete this entity row from the database
  @discussion
  @throws SUPPersistenceException
 */
- (void)delete;
/*!
  @method 
  @abstract Copy all attributes (except relationships) from 'other' to this entity
  @discussion
 */
- (void)copyAll:(Notification_Task4_NOTIFICATION_TASK*)other;
/*!
  @method 
  @abstract Returns the number of entity rows satisfying this query
  @discussion
  @throws SUPPersistenceException
 */
+ (int32_t)countWithQuery:(SUPQuery*)query;
/*!
  @method 
  @abstract Returns the entity for the primary key value passed in, or null if the entity is not found.
  @discussion
  @throws SUPPersistenceException
 */
+ (Notification_Task4_NOTIFICATION_TASK*)find:(int64_t)id;
/*!
  @method 
  @abstract Same as the find method above, but takes a string representation of the primary key as its parameter.
  @discussion
  @throws SUPPersistenceException
 */
+ (Notification_Task4_NOTIFICATION_TASK*)find_by_id_string:(NSString*)id_string;
/*!
  @method 
  @abstract Returns an SUPObjectList of entity rows satisfying this query
  @discussion
  @throws SUPPersistenceException
 */
+ (SUPObjectList*)findWithQuery:(SUPQuery*)query;
/*!
  @method 
  @abstract Returns the primary key for this entity.
  @discussion
 */
- (int64_t)_pk;
- (int64_t)id;
/*!
  @method 
  @abstract Returns the primary key for this entity as a string.
  @discussion
 */
- (NSString*)keyToString;
/*!
  @method 
  @abstract Returns the entity for the primary key value passed in; throws an exception if the entity is not found.
  @discussion
  @throws SUPPersistenceException
 */
+ (Notification_Task4_NOTIFICATION_TASK*)load:(int64_t)id;
+ (SUPEntityMetaData*)metaData;
/*!
  @method 
  @abstract Creates a new autoreleased instance of this class
  @discussion
 */
+ (Notification_Task4_NOTIFICATION_TASK*)getInstance;
/*!
  @method 
  @abstract Returns an SUPObjectList of log records for this entity.
  @discussion
  @throws SUPPersistenceException
 */
- (SUPObjectList*)getLogRecords;
/*!
  @method 
  @abstract Creates a new log record for this entity.
  @discussion
  @throws SUPPersistenceException
 */
- (id<SUPLogRecord>)createLogRecord:(int32_t)level withMessage:(NSString*)message;
/*!
  @method 
  @abstract Saves (creates or updates) this entity in the database.
  @discussion
  @throws SUPPersistenceException
 */
- (void)save;
/*!
  @method 
  @abstract Return a string description of this entity.
  @discussion
 */
- (NSString*)toString;
/*!
  @method 
  @abstract Return a string description of this entity.
  @discussion
 */
- (NSString*)description;
/*!
  @method 
  @abstract If this entity has pending changes, submits those changes to the server.
  @discussion
  @throws SUPPersistenceException
 */
- (void)submitPending;
/*!
  @method findAll
  @abstract Generated named query
  @throws SUPPersistenceException
 */

+ (SUPObjectList*)findAll;

/*!
  @method findAll
  @abstract Generated named query
  @param skip
  @param take
  @throws SUPPersistenceException
 */

+ (SUPObjectList*)findAll:(int32_t)skip take:(int32_t)take;
/*!
  @method getNOTIFICATIONTASKs_for_GetNotifList
  @abstract Generated named query
  @param surrogateKey
  @throws SUPPersistenceException
 */

+ (SUPObjectList*)getNOTIFICATIONTASKs_for_GetNotifList:(NSNumber*)surrogateKey;

/*!
  @method getNOTIFICATIONTASKs_for_GetNotifList
  @abstract Generated named query
  @param surrogateKey
  @param skip
  @param take
  @throws SUPPersistenceException
 */

+ (SUPObjectList*)getNOTIFICATIONTASKs_for_GetNotifList:(NSNumber*)surrogateKey skip:(int32_t)skip take:(int32_t)take;
/*!
  @method getPendingObjects
  @abstract Generated named query
  @throws SUPPersistenceException
 */

+ (SUPObjectList*)getPendingObjects;

/*!
  @method getPendingObjects
  @abstract Generated named query
  @param skip
  @param take
  @throws SUPPersistenceException
 */

+ (SUPObjectList*)getPendingObjects:(int32_t)skip take:(int32_t)take;
/*!
  @method getPendingObjects
  @abstract Generated named query
  @param pendingChange
  @throws SUPPersistenceException
 */

+ (SUPObjectList*)getPendingObjects:(unichar)pendingChange;

/*!
  @method getPendingObjects
  @abstract Generated named query
  @param pendingChange
  @param skip
  @param take
  @throws SUPPersistenceException
 */

+ (SUPObjectList*)getPendingObjects:(unichar)pendingChange skip:(int32_t)skip take:(int32_t)take;
/*!
  @method getReplayPendingObjects
  @abstract Generated named query
  @throws SUPPersistenceException
 */

+ (SUPObjectList*)getReplayPendingObjects;

/*!
  @method getReplayPendingObjects
  @abstract Generated named query
  @param skip
  @param take
  @throws SUPPersistenceException
 */

+ (SUPObjectList*)getReplayPendingObjects:(int32_t)skip take:(int32_t)take;
/*!
  @method getSize
  @abstract Generated class method 
  @param query
  @throws SUPPersistenceException
 */
+ (int32_t)getSize:(SUPQuery*)query;


@end

typedef SUPObjectList Notification_Task4_NOTIFICATION_TASKList;

// internal methods declaration, only used by generated code.
@interface Notification_Task4_NOTIFICATION_TASK(internal)

@property(retain) Notification_Task4_GetNotifList* getNotifList;


- (id)initFromJson:(SUPJsonObject*)json:(int32_t)flags;
- (void)readJson:(SUPJsonObject*)json:(int32_t)flags;
- (SUPJsonObject*)json:(int32_t)flags;
+ (SUPObjectList*)fromJSONList:(SUPJsonArray*)jsonArray NS_RETURNS_RETAINED;
+ (SUPJsonArray*)toJSONList:(SUPObjectList*)instanceList;


- (Notification_Task4_Notification_Task4DB*)database;
@end